﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 创建者：王明亮
 * 创建时间：2023/8/15 14:02:01
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System;

namespace MyWebApp.Filter
{
    /// <summary>
    /// 异常过滤器
    /// </summary>
    public class ExceptionFilter : Attribute, IExceptionFilter
    {
        /// <summary>
        /// 没有之前和之后事件,当程序发生没有捕获的异常时候执行
        /// </summary>
        /// <param name="context"></param>
        public void OnException(ExceptionContext context)
        {
            //异常信息
            var ex = context.Exception;
            //这里可以写入异常日志到数据库、文件或者控制台
            Console.WriteLine("错误信息："+ex.Message);

            /*
             * 方便测试，此处将错误日志信息返回
             */
            context.Result = new ContentResult()
            {
                Content = ex.Message,
                ContentType = "text/html"
            };

        }
    }
}
